package it.trekker.upload.xml;

import it.trekker.db.Excursion;
import it.trekker.db.ExcursionCoordinate;
import it.trekker.db.Poi;
import it.trekker.upload.User;

import java.io.IOException;

public interface IXmlExporter {

	public String startDocumentXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String endDocumentXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openExcursionsXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String closeExcursionsXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openExcursionXml(Excursion excursion) throws IllegalArgumentException, IllegalStateException, IOException;
	public String closeExcursionXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openUserXml(User user) throws IllegalArgumentException, IllegalStateException, IOException;
	public String closeUserXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openExcursionCoordinatesXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String closeExcursionCoordinatesXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openExcursionCoordinateXml(ExcursionCoordinate coordinate) throws IllegalArgumentException, IllegalStateException, IOException;
	public String closeExcursionCoordinateXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openPoisXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String closePoisXml() throws IllegalArgumentException, IllegalStateException, IOException;
	public String openPoiXml(Poi poi) throws IllegalArgumentException, IllegalStateException, IOException;
	public String closePoiXml() throws IllegalArgumentException, IllegalStateException, IOException;
	
}
